package main;

import java.util.LinkedList;

import datos.JDBCUsuarioDAO;
import datos.interfaces.IUsuarioDAO;

import logica.*;

public class AdquirirObjeto {
	public static void main(String[] args){
		GestorCompras gc=new GestorCompras();
		
		//Se supone que el usuario ya existe en la sesion. Para este ejemplo, obtenemos uno de la BD.
		IUsuarioDAO uDAO=new JDBCUsuarioDAO();
		Usuario user=uDAO.obtenerUsuario("5e641b8c-7fa3-4786-a41c-ae1e26ff1b0f");
		
		//Obtenemos todas las categorias y se muestran en la presentacion
		LinkedList<Categoria> listaCategorias=(LinkedList<Categoria>) gc.obtenerTodasCategorias();
		Categoria cat=listaCategorias.get(2);
		
		/*El usuario escoge una categoria y se muestra en la presentacion todos los objetos de esa categoria. 
		 * En el ejemplo escogemos una categoria cualquiera */
		LinkedList<Objeto> listaObjetos=(LinkedList<Objeto>) gc.obtenerObjetosCategoria(cat.getCategoriaID());
		
		//El usuario escoge uno de los objetos. En el ejemplo escogemos un objeto cualquiera.
		Objeto obj=listaObjetos.get(0);
		System.out.println("El usuario ha escogido el objeto: "+obj.getMarca()+" "+obj.getModelo());

		if(gc.disponeUnidadesIntercambio(user, obj)){
			System.out.println("El usuario dispone de las unidades necesarias. Disponible: "+user.getUnidadesIntercambio()+" Necesarias: "+obj.getValor());
			gc.registrarCompra(user, obj);
			System.out.println("El usuario ahora dispone de "+user.getUnidadesIntercambio()+" unidades de intercambio");
		} else {
			System.out.println("No dispone de las unidades de intercambio necesarias");
		}
	}
}
